Everything about Graphical User Interface totally explained
Graphical User Interface (
GUI) a type of
user interface which allows people to
interact with a computer and computer-controlled devices. As opposed to traditional interface, it presents graphical icons, visual indicators or special graphical elements called "
widgets". Often the icons are used in conjunction with text, labels or text navigation to fully represent the information and actions available to a user. But instead of offering only
text menus, or requiring typed commands, the actions are usually performed through
direct manipulation of the graphical elements.
(External Link
)
The term
GUI is historically restricted to the scope of two-dimensional display screens with
display resolutions capable of describing generic information, in the tradition of the
computer science research at
Palo Alto Research Center (PARC) (formerly
Xerox PARC and still a subsidiary of
Xerox). The term
GUI might not apply to other high-resolution
types of interfaces that are non-generic, such as
videogames, or not restricted to flat screens, like
volumetric displays.
(External Link
)
History
Precursors
The precursor to GUIs was invented by researchers at the
Stanford Research Institute, led by
Douglas Engelbart. They developed the use of text-based
hyperlinks manipulated with a
mouse for the
On-Line System. The concept of hyperlinks was further refined and extended to graphics by researchers at
Xerox PARC, who went beyond text-based hyperlinks and used a GUI as the primary interface for the
Xerox Alto computer. Most modern general-purpose GUIs are derived from this system. As a result, some people call this class of interface a PARC User Interface (PUI) (note that PUI is also an acronym for perceptual user interface).
Ivan Sutherland developed a pointer-based system called
Sketchpad in 1963. It used a light-pen to guide the creation and manipulation of objects in engineering drawings.
PARC User Interface
The PARC User Interface consists of graphical widgets (often provided by
widget toolkit libraries) such as
windows,
menus,
radio buttons,
check boxes and
icons. The PARC User Interface employs a
pointing device in addition to a keyboard. These aspects can be emphasized by using the alternative acronym
WIMP, which stands for Windows, Icons, Menus and
Pointing device.
Evolution
Following PARC the first GUI-centric computer operating model was the
Xerox 8010 Star Information System in 1981.
The GUIs familiar to most people today are
Microsoft Windows,
Mac OS X, and the
X Window System interfaces.
Apple,
IBM and
Microsoft used many of Xerox's ideas to develop IBMs
Common User Access specifications that formed the basis of the user interface found in
Microsoft Windows,
IBM OS/2 Presentation Manager, and the
Unix Motif toolkit and
window manager. These ideas evolved to create the interface found in current versions of the Windows operating system, as well as in Mac OS X and various
desktop environments for
Unix-like systems. Thus most current GUIs have largely common idioms.
Components
A GUI uses a combination of technologies and devices to provide a platform the user can interact with, for the tasks of gathering and producing information. The most common combination in GUIs is the
WIMP paradigm.
This style of interaction uses a physical
input device to control the position of a
cursor and presents information organized in windows and represented with icons. Available commands are compiled together in menus and actioned through the pointing device. A
window manager facilitates the interactions between windows, applications, and the
windowing system. The
windowing system handles hardware devices such as pointing devices and graphics hardware, as well as the positioning of the cursor.
In
personal computers all these elements are modelled through a
desktop metaphor, to produce a simulation called a
desktop environment in which the display represents a desktop, upon which documents and folders of documents can be placed.
Window managers and other software combine to simulate the desktop environment with varying degrees of realism.
Post-WIMP Interfaces
PDAs and
smartphones typically use the WIMP elements with different unifying metaphors, due to constraints in space and available input devices. Applications for which WIMP isn't well suited may use newer interaction techniques, collectively named as
post-WIMP user interfaces.
(External Link
)
Some touch-screen-based devices such as Apple's
iPhone currently use
post-WIMP styles of interaction. The
iPhone's use of more than one finger in contact with the screen allows actions such as pinching and rotating, which are not supported by a single pointer and mouse.
(External Link
)
A class of GUIs sometimes referred to as
post-WIMP include 3D
compositing window manager such as
Compiz,
Desktop Window Manager, and LG3D. Some post-WIMP interfaces may be better suited for applications which model immmersive 3D environments, such as
Google Earth.
(External Link
)
User Interface and Interaction Design
Designing the visual composition and temporal behavior of GUI is an important part of
software application programming. Its goal is to enhance the efficiency and ease of use for the underlying logical design of a stored
program, a design discipline known as
usability. Techniques of
user-centered design are used to ensure that the visual language introduced in the design is well tailored to the tasks it must perform.
Typically, the user interacts with information by manipulating visual
widgets that allow for interactions appropriate to the kind of data they hold. The widgets of a well-designed interface are selected to support the actions necessary to achieve the goals of the user. A
Model-view-controller allows for a flexible structure in which the interface is independent from and indirectly linked to application functionality, so the GUI can be easily customized. This allows the user to select or design a different
skin at will, and eases the designer's work to change the interface as the user needs evolve. Nevertheless, good user interface design relates to the user, not the system architecture.
The visible graphical interface features of an application are sometimes referred to as "chrome". Larger widgets, such as windows, usually provide a frame or container for the main presentation content such as a web page, email message or drawing. Smaller ones usually act as a user-input tool.
A GUI may be designed for the rigorous requirements of a
vertical market. This is known as an "application specific graphical user interface." Examples of an application specific GUI are:
- Touchscreen point of sale software used by waitstaff in a busy restaurant
- Self-service checkouts used in a retail store
- Automated teller machines (ATM)
- Airline self-ticketing and check-in
- Information kiosks in a public space, like a train station or a museum
- Monitors or control screens in an embedded industrial application which employ a real time operating system (RTOS).
The latest cell phones and handheld game systems also employ application specific touchscreen GUIs. Newer automobiles use GUIs in their navigation systems and touch screen multimedia centers.
Comparison to other interfaces
Command line interfaces
GUIs were introduced in reaction to the steep
learning curve of
command line interfaces (CLI), which require commands to be typed on the
keyboard. Since the commands available in command line interfaces can be numerous, complicated operations can be completed using a short sequence of words and symbols. This allows for greater efficiency and productivity once many commands are learned, but reaching this level takes some time because the command words are not easily discoverable.
WIMPs ("window, icon, menu, pointing device"), on the other hand, present the user with numerous
widgets that represent and can trigger some of the system's available commands.
WIMPs extensively use
modes as the meaning of all keys and clicks on specific positions on the screen are redefined all the time. Command line interfaces use modes only in limited forms, such as the current directory and environment variables.
Most modern
operating systems provide both a GUI and some level of a CLI, although the GUIs usually receive more attention. The GUI is usually WIMP-based, although occasionally other metaphors surface, such as those used in
Microsoft Bob,
3dwm or
File System Visualizer (FSV).
Applications may also provide both interfaces, and when they do the GUI is usually a WIMP wrapper around the command-line version. This is especially common with applications designed for
Unix-like operating systems. The latter used to be implemented first because it allowed the developers to focus exclusively on their product's functionality without bothering about interface details such as designing icons and placing buttons. Designing programs this way also allows users to run the program non-interactively, such as in a
shell script.
Text user interfaces
Text user interfaces (TUI) share with GUIs their use of the entire screen area and exposure of available commands through widgets like form entry and menus. However, TUIs only use text and symbols available on a typical text terminal, while GUIs typically use high resolution graphics modes. This allows the GUI to present more detailed information and fine-grained direct manipulation.
Three-dimensional user interfaces
three-dimensional is a misnomer—their displays are two-dimensional. Three-dimensional images are projected on them in two dimensions. Since this technique has been in use for many years, the recent use of the term three-dimensional must be considered a declaration by equipment marketers that the speed of three dimension to two dimension projection is adequate to use in standard GUIs.
Motivation
Three-dimensional GUIs are quite common in science fiction literature and movies, such as in
Jurassic Park, which features
Silicon Graphics' three-dimensional file manager, "File system navigator", an actual file manager that never got much widespread use as the user interface for a Unix computer. In fiction, three-dimensional user interfaces are often immersible environments like William Gibson's
Cyberspace or Neal Stephenson's
Metaverse.
Three-dimensional graphics are currently mostly used in computer games, art and
computer-aided design (CAD). There have been several attempts at making three-dimensional desktop environments like Sun's
Project Looking Glass or
SphereXP
from Sphere Inc. A three-dimensional computing environment could possibly be used for collaborative work. For example, scientists could study three-dimensional models of
molecules in a virtual reality environment, or engineers could work on assembling a three-dimensional model of an airplane. This is a goal of the
Croquet project and Project Looking Glass.
Technologies
The use of three-dimensional graphics has become increasingly common in mainstream operating systems, but mainly been confined to creating attractive interfaces—
eye candy—rather than for functional purposes only possible using three dimensions. For example, user switching is represented by rotating a cube whose faces are each user's workspace, and window management is represented in the form of
Exposé on
Mac OS X, or via a
Rolodex-style flipping mechanism in
Windows Vista (see
Windows Flip 3D). In both cases, the operating system transforms windows on-the-fly while continuing to update the content of those windows.
Interfaces for the
X Window System have also implemented advanced three-dimensional user interfaces through
compositing window managers such as
Beryl and
Compiz using the
AIGLX or
XGL architectures, allowing for the usage of OpenGL to animate the user's interactions with the desktop.
Another branch in the three-dimensional desktop environment is the three-dimensional GUIs that take the desktop metaphor a step further, like the
BumpTop, where a user can manipulate documents and windows as if they were "real world" documents, with realistic movement and physics.
The
Zooming User Interface (ZUI) is a related technology that promises to deliver the representation benefits of 3D environments without their usability drawbacks of orientation problems and hidden objects. It is a logical advancement on the GUI, blending some
three-dimensional movement with
two-dimensional or "
2.5D" vector objects.
Further Information
Get more info on 'Graphical User Interface'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://graphical_user_interface.totallyexplained.com">Graphical user interface Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |